package com.tanhua.dubbo.api;

import com.tanhua.model.enums.CommentType;
import com.tanhua.model.mongo.Comment;
import com.tanhua.model.vo.PageResult;

import java.util.List;

public interface CommentApi {

    //发布评论，并获取评论数量  -- 马岩松
    Integer save(Comment comment1);

    //分页查询
    List<Comment> findComments(String movementId, CommentType comment, Integer page, Integer pagesize);

    //判断comment数据是否存在  -- 马岩松
    Boolean hasComment(String movementId, Long userId, CommentType like);

    //删除comment数据
    Integer delete(Comment comment);

    //分页查询
    PageResult comments(Integer page, Integer pagesize, Long movementId);

    // 评论点赞  -- 马岩松
    Comment likezan(String id);

    /**
     * 说明:  评论点赞数据的更新与获取点赞值
     * 【视频/动态相关评论的点赞和取消点赞接口通用】  慎改！！！！
     *
     * @param commentId 评论id
     * @param i 更新量
     * @return java.lang.Integer
     * @author 李磊
     * @since 2022-01-18 10:27
     */
    Integer countReview(String commentId, Integer i);

    //评论点赞 王东阳
    boolean saveLikeComment(Long userId, String publishId);

    //评论点赞-取消 王东阳
    boolean removeComment(Long userId, String publishId, int i);

    //查看评论数量  王东阳
    Long queryCommentCount(String publishId, int i);
    //获取用户的动态
    List<Comment> select(Long userId, int i, Integer page, Integer pagesize);
}
